home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Info-Mac 4
/
Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso
/
Development
/
General
/
HoW Developer’s Kit 1.1
/
HoWSample
/
Icons.h
< prev
Wrap
Text File
|
1993-02-20
|
9KB
|
227 lines
/*
File: Icons.h
Contains: Public C Interfaces for color icon plotting routines
Copyright: © 1990 by Apple Computer, Inc., all rights reserved.
(Extended as per Technical Note "Drawing Icons the System 7 Way" of October 1992.)
(Extended to include System 7.1 Fonts folder icon family ID.)
*/
#ifndef __ICONS__
#define __ICONS__
/* The following are icons for which there are both icon suites and SICNs. */
#define genericDocumentIconResource -4000
#define genericStationeryIconResource -3985
#define genericEditionFileIconResource -3989
#define genericApplicationIconResource -3996
#define genericDeskAccessoryIconResource -3991
#define genericFolderIconResource -3999
#define privateFolderIconResource -3994
#define floppyIconResource -3998
#define trashIconResource -3993
/* The following are icons for which there are SICNs only. */
#define desktopIconResource -3992
#define openFolderIconResource -3997
#define genericHardDiskIconResource -3995
#define genericFileServerIconResource -3972
#define genericSuitcaseIconResource -3970
#define genericMoverObjectIconResource -3969
/* The following are icons for which there are icon suites only. */
#define genericPreferencesIconResource -3971
#define genericQueryDocumentIconResource -16506
#define genericExtensionIconResource -16415
#define systemFolderIconResource -3983
#define appleMenuFolderIconResource -3982
#define startupFolderIconResource -3981
#define ownedFolderIconResource -3980
#define dropFolderIconResource -3979
#define sharedFolderIconResource -3978
#define mountedFolderIconResource -3977
#define controlPanelFolderIconResource -3976
#define printMonitorFolderIconResource -3975
#define preferencesFolderIconResource -3974
#define extensionsFolderIconResource -3973
#define fontsFolderIconResource -3968
#define fullTrashIconResource -3984
#define large1BitMask 'ICN#'
#define large4BitData 'icl4'
#define large8BitData 'icl8'
#define small1BitMask 'ics#'
#define small4BitData 'ics4'
#define small8BitData 'ics8'
#define mini1BitMask 'icm#'
#define mini4BitData 'icm4'
#define mini8BitData 'icm8'
/* extensions as per Technical Note "Drawing Icons the System 7 Way" of October 1992 */
/* IconTransformType values */
enum {
ttNone = 0x0,
ttDisabled = 0x1,
ttOffline = 0x2,
ttOpen = 0x3,
ttSelected = 0x4000,
ttSelectedDisabled = (ttSelected + ttDisabled),
ttSelectedOffline = (ttSelected + ttOffline),
ttSelectedOpen = (ttSelected + ttOpen)
};
enum {
ttLabel0 = 0x0000,
ttLabel1 = 0x0100,
ttLabel2 = 0x0200,
ttLabel3 = 0x0300,
ttLabel4 = 0x0400,
ttLabel5 = 0x0500,
ttLabel6 = 0x0600,
ttLabel7 = 0x0700
};
/* IconAlignmentType values */
enum {
atNone = 0x0,
atVerticalCenter = 0x1,
atTop = 0x2,
atBottom = 0x3,
atHorizontalCenter = 0x4,
atAbsoluteCenter = (atVerticalCenter + atHorizontalCenter),
atCenterTop = (atTop + atHorizontalCenter),
atCenterBottom = (atBottom + atHorizontalCenter),
atLeft = 0x8,
atCenterLeft = (atVerticalCenter + atLeft),
atTopLeft = (atTop + atLeft),
atBottomLeft = (atBottom + atLeft),
atRight = 0xC,
atCenterRight = (atVerticalCenter + atRight),
atTopRight = (atTop + atRight),
atBottomRight = (atBottom + atRight)
};
/* IconSelectorValue values */
enum {
svLarge1Bit = 0x00000001,
svLarge4Bit = 0x00000002,
svLarge8Bit = 0x00000004,
svSmall1Bit = 0x00000100,
svSmall4Bit = 0x00000200,
svSmall8Bit = 0x00000400,
svMini1Bit = 0x00010000,
svMini4Bit = 0x00020000,
svMini8Bit = 0x00040000,
svAllLargeData = 0x000000FF,
svAllSmallData = 0x0000FF00,
svAllMiniData = 0x00FF0000,
svAll1BitData = (svLarge1Bit + svSmall1Bit + svMini1Bit),
svAll4BitData = (svLarge4Bit + svSmall4Bit + svMini4Bit),
svAll8BitData = (svLarge8Bit + svSmall8Bit + svMini8Bit),
svAllAvailableD = 0xFFFFFFFF
};
/* C Typedefs */
typedef pascal OSErr (*IconAction)(ResType theType, Handle *theIcon, void *yourDataPtr);
typedef pascal Handle (*IconGetter)(ResType theType, void *yourDataPtr);
typedef unsigned long IconSelectorValue;
typedef short IconAlignmentType;
typedef short IconTransformType;
/* C Glue */
pascal OSErr PlotIconID(const Rect *theRect, IconAlignmentType align,
IconTransformType transform, short theResID)
= {0x303C, 0x0500, 0xABC9};
pascal OSErr NewIconSuite(Handle *theIconSuite)
= {0x303C, 0x0207, 0xABC9};
pascal OSErr AddIconToSuite(Handle theIconData, Handle theSuite, ResType theType)
= {0x303C, 0x0608, 0xABC9};
pascal OSErr GetIconFromSuite(Handle *theIconData, Handle theSuite, ResType theType)
= {0x303C, 0x0609, 0xABC9};
pascal OSErr ForEachIconDo(Handle theSuite, IconSelectorValue selector, IconAction action,
void *yourDataPtr)
= {0x303C, 0x080A, 0xABC9};
pascal OSErr GetIconSuite(Handle *theIconSuite, short theResID, IconSelectorValue selector)
= {0x303C, 0x0501, 0xABC9};
pascal OSErr DisposeIconSuite(Handle theIconSuite, Boolean disposeData)
= {0x303C, 0x0302, 0xABC9};
pascal OSErr PlotIconSuite(const Rect *theRect, IconAlignmentType align,
IconTransformType transform, Handle theIconSuite)
= {0x303C, 0x0603, 0xABC9};
pascal OSErr MakeIconCache(Handle *theHandle, IconGetter makeIcon, void *yourDataPtr)
= {0x303C, 0x0604, 0xABC9};
pascal OSErr LoadIconCache(const Rect *theRect, IconAlignmentType align,
IconTransformType transform, Handle theIconCache)
= {0x303C, 0x0606, 0xABC9};
pascal OSErr PlotIconMethod(const Rect *theRect, IconAlignmentType align,
IconTransformType transform, IconGetter theMethod,
void *yourDataPtr)
= {0x303C, 0x0805, 0xABC9};
pascal OSErr GetLabel(short labelNumber, RGBColor *labelColor, Str255 labelString)
= {0x303c, 0x050B, 0xABC9};
pascal Boolean PtInIconID(Point testPt, Rect *iconRect, IconAlignmentType alignment,
short iconID)
= {0x303c, 0x060D, 0xABC9};
pascal Boolean PtInIconSuite(Point testPt, Rect *iconRect, IconAlignmentType alignment,
Handle theIconSuite)
= {0x303c, 0x070E, 0xABC9};
pascal Boolean PtInIconMethod(Point testPt, Rect *iconRect, IconAlignmentType alignment,
IconGetter theMethod, void *yourDataPtr)
= {0x303c, 0x090F, 0xABC9};
pascal Boolean RectInIconID(Rect *testRect, Rect *iconRect, IconAlignmentType alignment,
short iconID)
= {0x303c, 0x0610, 0xABC9};
pascal Boolean RectInIconSuite(Rect *testRect, Rect *iconRect, IconAlignmentType alignment,
Handle theIconSuite)
= {0x303c, 0x0711, 0xABC9};
pascal Boolean RectInIconMethod(Rect *testRect, Rect *iconRect, IconAlignmentType alignment,
IconGetter theMethod, void *yourDataPtr)
= {0x303c, 0x0912, 0xABC9};
pascal OSErr IconIDToRgn(RgnHandle theRgn, Rect *iconRect, IconAlignmentType alignment,
short iconID)
= {0x303c, 0x0613, 0xABC9};
pascal OSErr IconSuiteToRgn(RgnHandle theRgn, Rect *iconRect, IconAlignmentType alignment,
Handle theIconSuite)
= {0x303c, 0x0714, 0xABC9};
pascal OSErr IconMethodToRgn(RgnHandle theRgn, Rect *iconRect, IconAlignmentType alignment,
IconGetter theMethod, void *yourDataPtr)
= {0x303c, 0x0915, 0xABC9};
pascal OSErr SetSuiteLabel(Handle theSuite, short theLabel)
= {0x303C, 0x0316, 0xABC9};
pascal short GetSuiteLabel(Handle theSuite)
= {0x303C, 0x0217, 0xABC9};
pascal OSErr GetIconCacheData(Handle theCache, void **theData)
= {0x303C, 0x0419, 0xABC9};
pascal OSErr SetIconCacheData(Handle theCache, void *theData)
= {0x303C, 0x041A, 0xABC9};
pascal OSErr GetIconCacheProc(Handle theCache, IconGetter *theProc)
= {0x303C, 0x041B, 0xABC9};
pascal OSErr SetIconCacheProc(Handle theCache, IconGetter theProc)
= {0x303C, 0x041C, 0xABC9};
pascal OSErr PlotIconHandle(const Rect *theRect, IconAlignmentType align,
IconTransformType transform, Handle theIcon)
= {0x303C, 0x061D, 0xABC9};
pascal OSErr PlotSICNHandle(const Rect *theRect, IconAlignmentType align,
IconTransformType transform, Handle theSICN)
= {0x303C, 0x061E, 0xABC9};
pascal OSErr PlotCIconHandle(const Rect *theRect, IconAlignmentType align,
IconTransformType transform, CIconHandle theCIcon)
= {0x303C, 0x061F, 0xABC9};
#endif